открою тебе секрет
ни у кого нету юнитов на карте
все юниты создаются триггерно
короче почитал я то что ты пишешь и понял что ты вообще не умеешь работать с редактором
поэтому вот тебе статьи
прочти хотя бы 100 из них
т.к. ответы уже дали вопрос закрываю Maniac_91:
Цикл. От 1 до количества юнитов в группе:
Выбрать случайного юнита из группы
Создать даммика (с ограниченным временем жизни или отрицательной регенерацией)
Приказать последнему созданному юниту (Last created unit) применить заклинание на выбранного юнита (Picked unit)
Удалить выбранного юнита (Picked unit) из группы.
а нафига если можно сделать цикл по группе (выбрать каждого юнита в группе и делать...)
Еще изменение правил оффтопа тоже в процессе, вечером хотел уже запостить новые правила сайта, но вам повезло устроить этот срач именно сейчас. Последний раз прошу закончить его
ссылка
не прерывается приказ почти у любой абилы без цели. В большинстве случаев, останавливаются, чтоб заюзать скилл. А потом продолжают делать те действия, которые оборвал. Типа Рев. Есть длительные касты, например: заговор неуязвимости, он остановится, попрыгает (channeling-анимация), и потом дальше будет идти. Или заклинание крови дракончика. А вот тех, из-за чего еще и не останавливается на ходу, совсем мало
То есть если я поставлю в очередь приказы постройки, а в середине использую эти способности, то очередь прервётся?
И ещё вопрос, как написать свою абилку с нуля? Ссылок на статьи будет вполне достаточно заранее спасибо:)
на ютубе полно видео, в основном попадаются не шарящие челы, но по основам без проблем проведут
когда окрепнешь, то перейдёшь на джасс и начнёшь самостоятельно клепать крутые спеллы
можешь так же обращаться в заклинания на заказ, либо ко мне, может научу чему-нибудь, но всё равно желательно иметь базовые знания гуи
На JASS-е есть функция GetLearnedSkill(), которая выдает rawcode выученного умения. Создаешь переменную типа "целочисленная" с названием SkillCode, потом в начале действий триггера пишешь через Custom Script что-то типо этого:
set udg_SkillCode=GetLearnedSkill()
и затем делаешь какие тебе там нужны сравнения на переменную SkillCode.
ИИ написать, сами скиллы юзают тока крипы подконтрольные ИИ - к примеру нейтральновраждебные.
Так же можно юзать скилл - Сфера замедления, это орб эффект который срабатывая накладывает на цель атаки указанный в его настройках скилл, подойдет для карт типа Castle Fight.
ИИ чтоли не кастует? Сделай триггерный каст, Событие - юнит обнаружил цель в пределах досягаемости, проглотить не в кулдауне и цель неуязвимый враг, пойти и проглотить юнита...
Fireproof, попробуй в РО у юнита поменять "Графика - Анимация - обратный ход броска" и "Графика - Анимация - точка броска" на 0. Правда, это уберёт время каста для всех умений у этого юнита.
Ну тебе нужно чтобы был прямо таки бафф который можно рассеивать?
Для начала сделай способность, и баф на основе какой нибудь пустышки, подойдет ярость у некромантов, так же переодический триггер который раз в пол секунды проверяет всех юнитов в группе, есть ли у них бафф если юнит мертв или у него нет баффа, то у юнита удаляется способность на доп урон зданиям и сам унит удаляется из группы.
При касте твоим шаманов заклинания на цель, ты добавляешь цель заклинания в группу, которую и перебирает описанный выше триггер.
Надеюсь понятно?
datar1231, Именно поэтому говорят не делать 2 две способности от друга потому когда юнита приходит приказ на использование способности он использует твою нестандартную способность но основываясь на айди стандартной способности или делай на основе другой или незанаю подействует ли канал.
Все функции прелоада замена на рид/врайт мемхака, и в любом случае проверь права администратора для варкрафта, например JNGP точно запущен с правами админа и всё норм, права на запись есть, а если вар запускаешь с обычными, то у него не будет прав для записи, файл прелоада не создасться как и writestring и дальше всё поедет... MKDimon, Запусти от админа, отпишись
call SaveInteger(Hash,GetHandleId(GetTriggerUnit()),5555, CurrentNumberOfSettlement) в одном триггере сохраняем
set CurrentNumberOfSettlement = LoadInteger(Hash,GetHandleId(GetTriggerUnit()),5555) в другом триггере для проверки выгружаем
рабочий вариант
local integer id = GetHandleId(GetTriggerUnit())
call SaveInteger(Hash,id,5555, CurrentNumberOfSettlement) в одном триггере сохраняем
set CurrentNumberOfSettlement = LoadInteger(Hash,id,5555) в другом триггере для проверки выгружаем
Короче вернул обратно локалки, и все заработало. И почему первый вариант не работал. Ладно будут искать подводные камни. Наверное после чистой оптимизации что-то перестало работать. эх... придеться посравнивать. похоже старый код где то мб лучше. только времени потратил на методы тыка.
События на воскрешения юнита нет. Можно попробовать при касте воскрешения проверить всех мертвых юнитов вокруг кастера годных для воскрешения, а спустя 0.00 секунд проверить кто в группе мертвых ожил, хз. Тут только костылями выкручиваться либо делать свою систему воскрешения/воспользоваться южапи, если там есть соответствующая функция
Была прям один в один ситуация. Игра крашица скорее всего от того, что что bounds выходит за пределы карты. Оставляй отступ от краев.
и даже не границы карты, а границы обзора вродебы ломают все
попробуй rect создать на карте, чтобы он был внутри границы обзора. И bounds выставляй по нему.
Событие:
Юнит умирает
Условие:
Количество типов юнитов "Казарма" равно 0 or тип юнита "Казарма" из мертв равно да
Количество типов юнитов "Ферма" равно 0 or тип юнита "Казарма" из мертв равно да
Количество типов юнитов "Олодом" равно 0 or тип юнита "Казарма" из мертв равно да
Событие:
Задание выполнено-показать блаблабла (не важно)
Я с этим согласен, но можно было б
Событие: каждые 0.05сек.
Условия
Кол-во тип юнита "Казармы" В ОБЛАСТИ равно 0
Кол-во тип юнита "Ферма" В ОБЛАСТИ равно 0
Кол-во тип юнита "Олодом" В ОБЛАСТИ равно 0
ОБЛАСТЬ создай и помести в неё все свои домики
Действие:
Твоё что ты там хочешь.....
Только проблема: я не помню есть ли такое условие..*(
The Dude, это несерьезно. Все вопросы описаны в большом количестве статей здесь, на нашем сайте - xgm.guru/p/wc3/articles. То, что перечисляешь не верх мастерства WE, а базовые знания. Материалов предостаточно. Успехов в обучении.
Нашёл систему, где звук передаётся в таймер, который истекает через 0 секунд. В результате один и тот же звук может проигрываться несколько раз без всяких проблем. В инетике пишут мол это такой баг движка.
Вроде бы удалось решить проблему самостоятельно. Ошибка действительно была элементарной - идентификатор не устраивал введённый туда заглавный символ, а я не знал об этом. Простите за беспокойство.
Я не особо разбираюсь в англоязычном варианте триггеров, но у вас вроде стоит "Удалить - последний брошенный предмет", вам нужно "Удалить - Предмет переносимый [герой] типа [название предмета]". Если мой руссификатор не влияет на последовательность пунктов в настройке, то вы использовали третью строчку, а вам нужна девятая. Там вы можете удалить конкретный предмет у конкретного же персонажа.
должен сразу предупредить что делать за тебя никто не будет
теперь по твоим вопросам
чтобы нельзя было кликать скрываешь, даёшь москиты, делаешь видимым
действие проиграть звук и указываешь твою фразу
выбираем всех подходящих(враги,живые) юнитов в радиусе от точки каста и создаём по дамми юниту(юнит без модели, без атаки, с москитами, с нужной способность, время жизни юнита 1 сек) для каждого подходящего юнита приказывая дамми юниту применить нужную способность в подходящего юнита
таким образом каждый дамми юнит применит нужную способность (в твоём случае корни) в 1 подходящего юнита для которого он и был создан а потом исчезнет
Неуязвимость проверяют через даммика с атакой, через приказ, сможет ли атаковать или нет, просто проверка выполнения приказа. Так же пытаются нанести урон и смотрят сколько он отнял здоровья, так можно и определить неуязвимость и вычислить резист юнита к конкретному типу урона.
Меняется - можно поставить свой бафф, что сделан на основе оригинальный. Естественно, нельзя сделать так, чтобы отравленные стрелы станили.
Стан только у баша.
Почему бы не сделать привязку к классу героя: танки не будут получать очки за исцеление, дд-шеры за полученный урон, а лекари за нанесенный урон. Тем самым, стату можно будет набивать исключительно выполняя свою роль.
ну нажимаешь предмет там срабатывает тригерный спел который смотрит в инвенторе нужный паредмет высчитывает его количество по стакам дальше выставляет на месте каста нужного юнита
тут есть система увелечения хп,и функции увеличивающие и определяющие заряд предмета в тригах посмотрите
Берем любую пассивную способность и меняем в поле "Графика-цель" нам на нужную модель. Я заменил на "Адский дракон". А за основу взял способность "Аура выносливости". Теперь берем или создаем героя, добавляем ему нашу способность. Модель моего героя "Волшебница". Ставим на карту и проверяем.
Вот что у меня вышло:
Ну не обязательно строительство делать, достаточно дать морф с временем жизни как у яйца феникса, так будет проще.
Событие - юнит применил способность, условие - примененная способность = твоя способность, действие вручить морф яйца феникса и установить время жизни на 15 сек. Смотри как устроен феникс чародея крови.
Можно сделать полностью триггерно, вариантов уйма, можно вместо строительсва, сделать сразу после слияния промежуточного юнита, а ему настроить апгрейд в архонта и при применении слияния, автоматически начинать апгрейд в архонта.
reaper1691, так в чем проблема? Морф, две формы героя, один конь, одна способность-пустышка отвечающая за выбор коня и запуск триггера, который коня скроет, а герою запустит морф через предмет-руну, еще одна способность-пустышка, которая отвечает за запуск триггера запускающего обратный морф, телепортацию коня к герою и отмену скрытия коня.
Дик, переменную можно скормить этому триггеру через JASS или Lua, но событие запишется на основании значения переменной на момент добавления события - можно сколько угодно менять переменную после этого, но триггер будет работать только на того юнита который был записан в переменную на момент когда добавлялось событие. Возможно действие "добавить событие к триггеру" в ГУИ тоже так умеет.
Чтобы выяснить, от чего конкретно фатал, отключай по одному типы декораций.
Я делал подобное, но вместо декораций использовал юнитов - мне нужно было отловить взаимодействие с ними (рубка деревьев, добыча камней, сбор ягод с кустов и т. д.).
Фатал происходил, когда я делал всё в одном триггере и сразу. Потом мне посоветовали уменьшить цикл, сделать перерыв в 0.01 с. и перезапускать триггер. Методом тыка определил максимальное количество, при котором не вылетает. Потом сделал с запасом, чтобы на слабых компах не критовало - и всё работает идеально.
» WarCraft 3 / Исправление вылета кампании Reforged
» WarCraft 3 / Ледяное дыхание
» Администрация XGM / Не выдаются варны.
» WarCraft 3 / способность "защитная аура"
» WarCraft 3 / пассивная способность "кража маны" при атаке
» WarCraft 3 / Ломается система динамичной цены найма юнита
» Администрация XGM / Восстановить комментарий
» WarCraft 3 / Возможность поворота всей карты
» Администрация XGM / Ошибка при заходе
» WarCraft 3 / Задания в редакторе отобразить определенным игрокам
» WarCraft 3 / Вопрос по триггерной способности
» WarCraft 3 / Модель
» WarCraft 3 / Система урона в варкрафте.
» WarCraft 3 / Стаки предметов
» WarCraft 3 / Способность Оживление мертвых
» WarCraft 3 / Оседлать
» WarCraft 3 / Список в JASS
» WarCraft 3 / Можно ли как-то проверить расу юнита?
» WarCraft 3 / Генератор декораций.